package busterminal.command.scheduleditem;

import busterminal.command.AbstractCommand;
import busterminal.persistence.ScheduledItemDAO;
import busterminal.services.ServiceLocator;
import java.util.Arrays;
import java.util.List;

/**
 * Команда для поиска пунктов расписания по названию маршрута
 */
public class FindScheduledItemByRouteNameCommand extends AbstractCommand {

    /**
     * Имя параметра "Название маршрута"
     */
    public final static String PARAM_ROUTE_NAME = "Route name";

    /**
     * Конструктор по умолчанию
     */
    public FindScheduledItemByRouteNameCommand() {
        super("Find scheduled item by route name");
    }

    /**
     * Получить список имён параметров
     * @return список имён параметров
     */
    @Override
    public List<String> getParametersNames() {
        return Arrays.asList(PARAM_ROUTE_NAME);
    }

    /**
     * Выполнить команду
     */
    @Override
    public void execute() {
        ScheduledItemDAO scheduledItemDAO = ServiceLocator.getService(ScheduledItemDAO.class);
        System.out.println(scheduledItemDAO.findByRouteName(parameters.get(PARAM_ROUTE_NAME)));
    }
}
